People routinely employ sketching of diagrams during design phases in a project. They draw on paper and whiteboards, and increasingly their electronic counterparts, as an aid to thinking, communicating and/or sharing their thoughts with others. Manual sketches have the virtue of being rapidly produced without the cognitive overhead associated with the use of drawing software. Sketches also suggest, generally appropriately, that the ideas they embody are not fully formed and are open to further improvement. This can be advantageous when conveying the idea to others since people may be more likely to stay engaged at the conceptual level when discussing a sketch.
Sketches, however, typically start out as a blank “sheet”, and usually the sketches alone cannot provide the ability of reusing the elements it contains; that is, manually drawn sketches do not provide support for reusability. Some tools allow a drawn element to be saved and recalled for later use (see for example Adobe™ Flash™ and their use of “symbols”). Other tools provide a set of possible design elements, typically arranged in “palettes”, which can be added to a design composition (see for example Microsoft™ Visio™). But no tools allow one to create a diagram that incorporates both free hand elements and reused elements where the result is stylistically coherent. The diagram will either have some elements sketched and some elements from the palettes or, in the case of mostly experimental prototypes, all sketched elements mapped to the most likely palette element through a process of stroke recognition and displayed as the recognized element (for example, turning roughly circular closed forms into perfect circles).